#ifndef _ANIMATION_H_
#define _ANIMATION_H_

#include "Matrix4x4.h"
//#include "Frame.h"
#include "FrameInterpolator.h"
#include <vector>

using std::vector;

//struct tKeyFrame
//{
	// TODO: Fill this structure with whatever the keyframes will need

	//unsigned int s_aniFlags;
	// flag used to determine if the frame should be updated
//	vector<Frame>m_frames;
//	float m_frameTime;
	
//};
//typedef tKeyFrame KeyFrame;

class CKeyFrame;
class CAnimation
{
	
	friend class CFrameInterpolator;
	//friend class AniNode;
	
	
	//////////////////////////////////////////////////////////////////////////
	//	------------------------------------------------------------------	//
	//							DATA	MEMBERS								//
	//	------------------------------------------------------------------	//
	//////////////////////////////////////////////////////////////////////////

	// TODO: Add whatever you need in here
	float m_fDuration;
	vector<CKeyFrame> m_keyFrames;
	
	//FrameInterpolator
	public:


	//////////////////////////////////////////////////////////////////////////
	//	------------------------------------------------------------------	//
	//							PRIVATE	FUNCTIONS							//
	//	------------------------------------------------------------------	//
	//////////////////////////////////////////////////////////////////////////

	// TODO: Add whatever you need in here
private:



public:
	//////////////////////////////////////////////////////////////////////////
	//	------------------------------------------------------------------	//
	//							PUBLIC	FUNCTIONS							//
	//	------------------------------------------------------------------	//
	//////////////////////////////////////////////////////////////////////////

	// Default Constructor - Initialize data members to safe values
	CAnimation(void);
	
	// Load - Load animation data from a file
	bool Load(const char* filename);
	
	// Destructor - Clean up
	~CAnimation(void);

	float GetFrameDuration(void) {return m_fDuration;}
};
//typedef CAnimation Animation;

#endif // _ANIMATION_H_